/* Creado el  4/05/2006 */
package com.angel.arquitectura.service.impl.factory;

import com.angel.arquitectura.service.ObjectIdService;
import com.angel.arquitectura.service.factory.ServiceFactory;
import com.angel.arquitectura.service.multiple.MultipleService;
import com.angel.arquitectura.service.user.ActionService;
import com.angel.arquitectura.service.user.RolService;
import com.angel.arquitectura.service.user.SecurityService;
import com.angel.arquitectura.service.user.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * COMENTARIO AQUI.
 * 
 * @author William
 * @since 05/April/2009
 * 
 */
@Component
public class ArquitecturaServiceFactory implements ServiceFactory {
	
    private static ArquitecturaServiceFactory INSTANCE;

    @Autowired
    private UserService userService;
    @Autowired
    private SecurityService securityService;
    @Autowired
    private ObjectIdService objectIdService;
    @Autowired
    private RolService rolService;
    @Autowired
    private ActionService actionService;
    @Autowired
    private MultipleService multipleService;

    private ArquitecturaServiceFactory() {
        super();
    }

    public static ArquitecturaServiceFactory createInstance() {
        if (INSTANCE == null) {
            INSTANCE = new ArquitecturaServiceFactory();
            return INSTANCE;
        }
        return INSTANCE;
    }

    public static ObjectIdService getObjectIdService() {
        return INSTANCE.objectIdService;
    }

    public void setObjectIdService(ObjectIdService objectIdService) {
        INSTANCE.objectIdService = objectIdService;
    }

    public static UserService getUserService() {
        return INSTANCE.userService;
    }

    public void setUserService(UserService userService) {
        INSTANCE.userService = userService;
    }
    
    public static SecurityService getSecurityService() {
        return INSTANCE.securityService;
    }

    public void setSecurityService(SecurityService securityService) {
        INSTANCE.securityService = securityService;
    }
    
    public static RolService getRolService() {
        return INSTANCE.rolService;
    }

    public void setRolService(RolService rolService) {
        INSTANCE.rolService = rolService;
    }
    
    public static ActionService getActionService() {
        return INSTANCE.actionService;
    }

    public void setActionService(ActionService actionService) {
        INSTANCE.actionService = actionService;
    }

    public MultipleService getMultipleService() {
        return multipleService;
    }

    public void setMultipleService(MultipleService multipleService) {
        this.multipleService = multipleService;
    }
}